/**
 * BSD License
 *
 * Copyright (c) 2024 Huawei Device Co., Ltd. All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without modification,
 * are permitted provided that the following conditions are met:
 *
 * * Redistributions of source code must retain the above copyright notice, this
 *  list of conditions and the following disclaimer.
 *
 * * Redistributions in binary form must reproduce the above copyright notice,
 * this list of conditions and the following disclaimer in the documentation
 * and/or other materials provided with the distribution.
 *
 * * Neither the name Facebook nor the names of its contributors may be used to
 * endorse or promote products derived from this software without specific
 * prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

/*
* Template group testDir
* Compiled on Tue Jan 14 2025 20:21:54 GMT+0800
*/
import { path } from "@ohos/node-polyfill";
var base = path.dirname("/data/storage/el2/base/haps/entry/files");
function getInstance(st, group) {
    "use strict";
    var r;
    var gFile = "testDir";
    group.name = "testDir";
    //
    // Template /hello
    //
    r = function(w, rc) {
        var g = this.owningGroup,
            s = this.scope;

        w.write("Hello ");
        st.write(w, s, g, rc, s.audience, {"null": "is anyone there?"});
        w.write("!");
        w.write("\n");
    };
    r.args = [
        { name: "audience"     }
    ];
    group.addTemplate("/hello", r);
    //
    // Template /introduce
    //
    r = function(w, rc) {
        var g = this.owningGroup,
            s = this.scope;

        w.write("my name is ");
        st.write(w, s, g, rc, s.name);
        w.write(".I like ");
        st.write(w, s, g, rc, s.like);
        w.write("!");
    };
    r.args = [
        { name: "name"     },
        { name: "like"     }
    ];
    group.addTemplate("/introduce", r);
    //
    // Template /testDir
    //
    r = function(w, rc) {
        var g = this.owningGroup,
            s = this.scope;

        w.write("my favourite color is ");
        st.write(w, s, g, rc, s.color);
        w.write(".");
    };
    r.args = [
        { name: "color"     }
    ];
    group.addTemplate("/testDir", r);
    return group;
}
getInstance.base = base;
export default getInstance;
